Ionic অ্যাপ্লিকেশনগুলোতে ডেটাবেস ব্যবহারের জন্য আপনি দুটি প্রধান বিকল্প ব্যবহার করতে পারেন: SQLite এবং NoSQL (যেমন Ionic Storage)। SQLite একটি সম্পর্কিত ডেটাবেস (RDBMS) হিসেবে কাজ করে, যেখানে ডেটা টেবিল এবং রিলেশনশিপের মাধ্যমে স্টোর হয়, আর NoSQL ডেটাবেস (যেমন Ionic Storage) সাধারণত JSON স্টাইল ডেটা সংরক্ষণ করে।
Ionic অ্যাপ্লিকেশনে SQLite এবং Ionic Storage Integration নিয়ে বিস্তারিত আলোচনা করা হলো।
১. SQLite Integration
SQLite হলো একটি ছোট এবং হালকা ওজনের সম্পর্কিত ডেটাবেস, যা মোবাইল ডিভাইসে সহজে ইনস্টল করা যায় এবং অল্প রিসোর্সে কাজ করে। Ionic অ্যাপ্লিকেশনে SQLite ব্যবহার করতে হলে আপনাকে SQLite Plugin ইনস্টল করতে হবে।
SQLite ইনস্টল করা
- SQLite Plugin ইনস্টল করুন:
- প্রথমে, আপনার Ionic প্রজেক্টে
@ionic-native/sqliteএবংcordova-sqlite-storageপ্লাগইন ইনস্টল করতে হবে।
- প্রথমে, আপনার Ionic প্রজেক্টে
ionic cordova plugin add cordova-sqlite-storage
npm install @ionic-native/sqlite
- AppModule এ ইনপোর্ট করুন:
import { SQLite } from '@ionic-native/sqlite/ngx';
@NgModule({
providers: [
SQLite
]
})
export class AppModule { }
- SQLite ডাটাবেস ব্যবহার করা
SQLite ডাটাবেস তৈরি করতে এবং ডেটা প্রবেশ করতে নীচের কোড ব্যবহার করতে পারেন।
import { Component } from '@angular/core';
import { SQLite, SQLiteObject } from '@ionic-native/sqlite/ngx';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
constructor(private sqlite: SQLite) {}
createDatabase() {
this.sqlite.create({
name: 'data.db',
location: 'default'
}).then((db: SQLiteObject) => {
db.executeSql('create table if not exists people(id integer primary key, name text, age integer)', [])
.then(() => console.log('Table created'))
.catch(e => console.log(e));
}).catch(e => console.log(e));
}
addData() {
this.sqlite.create({
name: 'data.db',
location: 'default'
}).then((db: SQLiteObject) => {
db.executeSql('insert into people (name, age) values (?, ?)', ['John Doe', 30])
.then(() => console.log('Data added'))
.catch(e => console.log(e));
}).catch(e => console.log(e));
}
getData() {
this.sqlite.create({
name: 'data.db',
location: 'default'
}).then((db: SQLiteObject) => {
db.executeSql('select * from people', [])
.then((res) => {
for (var i = 0; i < res.rows.length; i++) {
console.log(res.rows.item(i));
}
}).catch(e => console.log(e));
}).catch(e => console.log(e));
}
}
এখানে, একটি SQLite ডাটাবেস তৈরি করা হচ্ছে, একটি টেবিল তৈরি করা হচ্ছে এবং ডেটা ইনসার্ট ও সিলেক্ট করা হচ্ছে।
২. Ionic Storage (NoSQL) Integration
Ionic Storage হলো একটি NoSQL ডেটাবেস, যা ছোট অ্যাপ্লিকেশন ডেটা সংরক্ষণ করতে ব্যবহার করা হয়। এটি মূলত localStorage বা IndexedDB ব্যবহার করে ডেটা সংরক্ষণ করে।
Ionic Storage ইনস্টলেশন
- Ionic Storage ইনস্টল করুন:
npm install @ionic/storage-angular
- AppModule এ ইনপোর্ট করুন:
import { IonicStorageModule } from '@ionic/storage-angular';
@NgModule({
imports: [
IonicStorageModule.forRoot()
],
providers: []
})
export class AppModule {}
- Ionic Storage ব্যবহার করা
Ionic Storage ব্যবহার করতে হবে Storage সার্ভিসের মাধ্যমে।
import { Component } from '@angular/core';
import { Storage } from '@ionic/storage-angular';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
constructor(private storage: Storage) {}
async setData() {
await this.storage.set('name', 'John Doe');
console.log('Data saved');
}
async getData() {
const name = await this.storage.get('name');
console.log('Retrieved name:', name);
}
async clearData() {
await this.storage.remove('name');
console.log('Data removed');
}
}
এখানে:
- setData(): স্টোরেজে ডেটা সংরক্ষণ করা হচ্ছে।
- getData(): স্টোরেজ থেকে ডেটা পড়া হচ্ছে।
- clearData(): স্টোরেজ থেকে ডেটা মুছে ফেলা হচ্ছে।
৩. SQLite এবং Ionic Storage এর মধ্যে পার্থক্য
| ফিচার | SQLite | Ionic Storage |
|---|---|---|
| ধরণ | সম্পর্কিত ডেটাবেস (RDBMS) | NoSQL ডেটাবেস |
| ডেটা সংরক্ষণ | টেবিল এবং রিলেশনশিপ ব্যবহার করে | কীগুলির মাধ্যমে JSON ডেটা সংরক্ষণ |
| অ্যাসিনক্রোনাস অপারেশন | হ্যাঁ (অ্যাসিনক্রোনাস API) | হ্যাঁ (Promise এবং Async ব্যবহার করে) |
| কনফিগারেশন | প্লাগইন ভিত্তিক | কমপ্যাক্ট, সেটআপ সহজ |
| ডেটার আকার | সাধারণত বড় ডেটাবেসের জন্য উপযুক্ত | ছোট ও মাঝারি আকারের ডেটা সংরক্ষণের জন্য |
| ব্যবহার | বড় অ্যাপ্লিকেশন, অ্যাডভান্সড কুয়েরি | সহজ এবং ছোট ডেটা সংরক্ষণ |
সারাংশ
- SQLite ব্যবহার করা হয় যখন আপনার অ্যাপ্লিকেশনে সম্পর্কিত ডেটাবেস ম্যানেজমেন্ট এবং জটিল কুয়েরি প্রক্রিয়ার প্রয়োজন হয়। এটি অ্যাপ্লিকেশনের জন্য একটি পূর্ণাঙ্গ RDBMS সলিউশন।
- Ionic Storage হল একটি হালকা ওজনের NoSQL ডেটাবেস, যা ছোট এবং মাঝারি আকারের ডেটা সংরক্ষণের জন্য আদর্শ, যেমন ইউজার প্রেফারেন্স, টোকেন, কনফিগারেশন ইত্যাদি।
আপনি আপনার অ্যাপ্লিকেশনের প্রয়োজন অনুসারে SQLite বা Ionic Storage ব্যবহার করতে পারেন। SQLite বড় এবং সম্পর্কিত ডেটাবেসের জন্য উপযুক্ত, যেখানে Ionic Storage দ্রুত ডেটা সংরক্ষণ এবং রিট্রিভ করার জন্য সহজ পদ্ধতি।
Read more